#include "pixlabel.h"

extern QPixmap pixmapToRound(QPixmap &src, int radius);

PixLabel::PixLabel(int size, bool isBold, QWidget *parent):QWidget(parent)
{
    QHBoxLayout *hLayout = new QHBoxLayout();
    labelPix = new QLabel();
    labelText = new QLabel();

    // 设置图片大小恒定 50x50
    labelPix->resize(40, 40);
    labelPix->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
    // 设置文本字体
    QFont font;
    font.setPointSize(size);
    font.setBold(isBold);
    labelText->setFont(font);

    // 加入到布局
    hLayout->setMargin(0);
    hLayout->addWidget(labelPix);
    hLayout->addWidget(labelText);

    // 加载整体布局
    setLayout(hLayout);
}

void PixLabel::changeLabel(QPixmap pix, QString str)
{
    QPixmap dst = pix.scaled(40,40,Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    dst = pixmapToRound(dst, 20);
    labelPix->setPixmap(dst);
    labelText->setText(str);
}
